#include <iostream>

int main()
{
    // bool类型本来是C++特有的，后来在C语言里用头文件模拟了布尔类型，实际上不是真正的bool
    // C语言里的bool类型是定义出来的宏
    // C++里bool类型真的是一个数据类型，嵌在编译器里的关键字
    // 在C语言里要加头文件，不加不认识
    // 在C++里不用加头文件，因为是嵌在编译器里的关键字
    bool a = true;  
    a = false;

    printf("%ld\n", sizeof(a)); // 1个字节（因为计算机内存分配的最小单位是1个字节，但实际上它只要一个比特位就够了，就真和假）
    std::cout<<true<<" "<<false<<std::endl; // 1为真 0为假

    a = 127;    // 赋任何非0值都是1
    std::cout<<a<<std::endl;

    return 0;
}